	.arch armv8-a
	.arch_extension crc
	.arm
	.data
	.global g
	.align 4
	.size g, 4
g:
	.word 0
	.text
	.global func
	.type func , %function
func:
	push {r4, r5, r9, r10, fp, lr}
	mov fp, sp
	sub sp, sp, #4
.L52:
	str r0, [fp, #-4]
	ldr r10, addr_g0
	ldr r9, [r10]
	ldr r4, [fp, #-4]
	add r5, r9, r4
	ldr r4, addr_g0
	str r5, [r4]
	ldr r4, addr_g0
	ldr r5, [r4]
	mov r0, r5
	bl putint
	ldr r4, addr_g0
	ldr r5, [r4]
	mov r0, r5
	add sp, sp, #4
	pop {r4, r5, r9, r10, fp, lr}
	bx lr

	.global main
	.type main , %function
main:
	push {r4, r10, fp, lr}
	mov fp, sp
	sub sp, sp, #4
.L54:
	bl getint
	mov r10, r0
	str r10, [fp, #-4]
	ldr r4, [fp, #-4]
	cmp r4, #0
	cmp r4, #10
	movgt r4, #1
	movlt r4, #0
	bgt .L59
	b .L66
.L56:
	ldr r4, =1
	str r4, [fp, #-4]
	b .L57
.L57:
	bl getint
	mov r4, r0
	str r4, [fp, #-4]
	ldr r4, [fp, #-4]
	cmp r4, #0
	cmp r4, #11
	movgt r4, #1
	movlt r4, #0
	bgt .L82
	b .L89
.L58:
	ldr r4, =0
	str r4, [fp, #-4]
	b .L57
.L59:
	ldr r4, [fp, #-4]
	cmp r4, #0
	mov r0, r4
	bl func
	mov r4, r0
	cmp r4, #0
	cmp r4, #0
	bne .L56
	b .L77
.L61:
	mov r0, #0
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
.L62:
	b .L61
.L66:
	b .L58
.L68:
	mov r0, #0
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
.L69:
	b .L68
.L73:
	b .L58
.L77:
	b .L58
.L79:
	ldr r4, =1
	str r4, [fp, #-4]
	b .L80
.L80:
	bl getint
	mov r4, r0
	str r4, [fp, #-4]
	ldr r4, [fp, #-4]
	cmp r4, #0
	cmp r4, #99
	movle r4, #1
	movge r4, #0
	ble .L102
	b .L112
.L81:
	ldr r4, =0
	str r4, [fp, #-4]
	b .L80
.L82:
	ldr r4, [fp, #-4]
	cmp r4, #0
	mov r0, r4
	bl func
	mov r4, r0
	cmp r4, #0
	cmp r4, #0
	bne .L79
	b .L100
.L84:
	mov r0, #0
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
.L85:
	b .L84
.L89:
	b .L81
.L91:
	mov r0, #0
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
.L92:
	b .L91
.L96:
	b .L81
.L100:
	b .L81
.L102:
	ldr r4, =1
	str r4, [fp, #-4]
	b .L103
.L103:
	bl getint
	mov r4, r0
	str r4, [fp, #-4]
	ldr r4, [fp, #-4]
	cmp r4, #0
	cmp r4, #100
	movle r4, #1
	movge r4, #0
	ble .L125
	b .L135
.L104:
	ldr r4, =0
	str r4, [fp, #-4]
	b .L103
.L105:
	ldr r4, [fp, #-4]
	cmp r4, #0
	mov r0, r4
	bl func
	mov r4, r0
	cmp r4, #0
	cmp r4, #0
	bne .L102
	b .L123
.L107:
	mov r0, #0
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
.L108:
	b .L107
.L112:
	b .L105
.L114:
	mov r0, #0
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
.L115:
	b .L114
.L119:
	b .L104
.L123:
	b .L104
.L125:
	ldr r4, =1
	str r4, [fp, #-4]
	b .L126
.L126:
	mov r0, #99
	bl func
	mov r4, r0
	cmp r4, #0
	cmp r4, #0
	moveq r4, #1
	movne r4, #0
	cmp r4, #0
	bne .L151
	b .L159
.L127:
	ldr r4, =0
	str r4, [fp, #-4]
	b .L126
.L128:
	ldr r4, [fp, #-4]
	cmp r4, #0
	mov r0, r4
	bl func
	mov r4, r0
	cmp r4, #0
	cmp r4, #0
	bne .L125
	b .L146
.L130:
	mov r0, #0
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
.L131:
	b .L130
.L135:
	b .L128
.L137:
	mov r0, #0
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
.L138:
	b .L137
.L142:
	b .L127
.L146:
	b .L127
.L148:
	ldr r4, =1
	str r4, [fp, #-4]
	b .L149
.L149:
	mov r0, #0
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
.L150:
	ldr r4, =0
	str r4, [fp, #-4]
	b .L149
	b .F0
.LTORG
addr_g0:
	.word g
.F0:
.L151:
	mov r0, #100
	bl func
	mov r4, r0
	cmp r4, #0
	cmp r4, #0
	bne .L148
	b .L167
.L153:
	mov r0, #0
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
.L154:
	b .L153
.L159:
	b .L150
.L163:
	b .L150
.L167:
	b .L150

addr_g1:
	.word g
